iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
Software Development

RISC-V 與處理器之架構學習及應用系列 第 25

[Day25] Translating and Running a Program: CALL (1/5)

  • 分享至 

  • xImage
  •  
  1. 程式編譯過程

    • 將高階語言(例如 C 程式)轉換為機器語言的過程分為幾個步驟:
      • 高階語言(C 程式):經由編譯器轉換成組合語言。
      • 組合語言:經由組譯器轉換成機器語言。
      • 機器語言:由硬體架構來執行。
    • 這個過程的每個步驟都有其對應的描述,從硬體架構到邏輯電路描述。
  2. C 程式的執行

    • Translator:負責將程式從一種語言轉換成另一種語言,如將 C 程式轉換為組合語言,再轉換成機器語言。這通常會提高效率和性能。
    • Interpreter:直接執行原始語言程式,與 Translator 不同,不需要進行語言轉換。
    • 舉例來說,C 程式和 RISC-V 程式可以透過模擬器來解釋執行,這對學習和除錯很有幫助。
  3. 編譯 C 程式的步驟

    • 將 C 程式轉換為可執行檔的具體步驟:
      1. Compiler:將 .c 檔案轉換成 .s(組合語言)。
      2. Assembler:將 .s 檔案轉換成 .o(機器語言模組)。
      3. Linker:將 .o 檔案與其他物件檔案連結,生成可執行檔。
      4. Loader:將可執行檔載入記憶體並開始執行。

上一篇
[Day24] RISC-V 單周期 Datapath 與控制邏輯概述
下一篇
[Day26] CALL: Assembler (2/5)
系列文
RISC-V 與處理器之架構學習及應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言